//
// Created by swe_dev on 25-3-23.
//

#ifndef SOLENIOD_VALVE_DRIVER_HPP
#define SOLENIOD_VALVE_DRIVER_HPP

#include "gpio.h"

class SoleniodValveDriver {
public:
    SoleniodValveDriver(GPIO_TypeDef* gpio_bank, uint16_t gpio_pin)
            : m_gpio_bank(gpio_bank), m_gpio_pin(gpio_pin) { }

    void set_on() {
        HAL_GPIO_WritePin(m_gpio_bank, m_gpio_pin, GPIO_PIN_SET);
    }

    void set_off() {
        HAL_GPIO_WritePin(m_gpio_bank, m_gpio_pin, GPIO_PIN_RESET);
    }

protected:
    GPIO_TypeDef* m_gpio_bank{nullptr};
    uint16_t m_gpio_pin{0};

};

#endif //SOLENIOD_VALVE_DRIVER_HPP
